Conventional browsers may require the use of standalone tools to create menu systems for applications. This approach may be cumbersome and differ from a more natural and ubiquitous drag and drop experience. A natural drag and drop experience has typically not been available for browser-based menu creation due, at least in part, to operating system and/or browser restrictions on interactions between windows, frames, and so on.
A web browser extension is a code package that can be installed into a browser and/or client device (e.g., computer) running a browser. The extension may add a new feature to a browser, extend an existing functionality, modify a visual theme, allow previously restricted interactions, and so on. A browser may employ an extensible markup language (XML) user-interface language (XUL, pronounced zuul) to describe and support application user interfaces. XUL provides an overlay functionality that facilitates merging user interfaces from different sources into one user interface (UI). For example, UI from a browser and a browser extension(s) may be merged, which may facilitate previously restricted interactions. Recall that a browser extension may provide additional functionality for a browser. This functionality may include, for example, additional UI features that facilitate customizing a browser UI.
The collective UI adornment for a browser (e.g., border, menus, frames, buttons, scrollbars) may be referred to as “browser chrome” or just “chrome”. A browser extension may interact with the browser chrome. A browser extension may include a XUL file(s), JavaScript, a style sheet(s), an image(s), and so on. This set of items may be loaded into a single package (e.g., Zip file). The package may be loaded into, unwrapped by, and installed on a client device associated with a browser. Once installed, package components may be operably connected to a browser and/or browser object(s) using the XUL overlay feature. Though added to a browser, browser extension code may remain separate and removable. An extension may reside in a browser and/or client device rather than being part of a web page transmitted by a web service (e.g., enterprise application) to the browser and/or client. Thus, conventional systems may employ functionality (e.g., XUL) to facilitate enhancing web browsers via web browser extensions.